// 练习 4.2: 编写一个程序，默认情况下打印标准输入的SHA256编码，并支持通过命令行flag 定制，输出SHA384或SHA512哈希算法。
package main

import (
	"crypto/sha256"
	"crypto/sha512"
	"fmt"
	"os"
)

func main() {
	flag := os.Args[2]
	s := os.Args[1]
	b := []byte(s)
	switch flag {
	case "sha384":
		fmt.Println(sha512.Sum384(b))
	case "sha512":
		fmt.Println(sha512.Sum512(b))
	default:
		fmt.Println(sha256.Sum256(b))

	}

}
